package com.ruipeng.shengyapo.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by tu_pei on 17/6/7.
 */
public interface OrderMapper {
    /**
     * 开锁成功生成订单
     * @param params
     * @return
     */
    int initAddRiDingOrder(Map<String, Object> params);

    /**
     * 查询用户未完成订单
     * @param params
     * @return
     */
    List<Map<String,Object>> getUserOrderByUserId(Map<String,Object> params);
    
    /**
     * 查询最近订单
     * @param params
     * @return
     */
    Map<String,Object> getRecentOrderByIMEI(Map<String,Object> params);
    
    /**
     * 关锁完成订单
     * @param params
     * @return
     */
    int completeOrder(Map<String,Object> params);
    
    /**
     * 更新订单结束位置
     * @param params
     * @return
     */
    int setRecentOrderEndPath(Map<String,Object> params);

    /**
     * 支付请求创建订单号
     * @param params
     * @return
     */
    int addOrderInfo(Map<String,Object> params);

    /**
     * 根据订单号查询订单
     * @return
     */
    Map<String,Object> getOrderByOrderNo(Map<String,Object> params);

    /**
     * 修改订单状态
     * @param orderNo
     * @return
     */
    int updateOrderByOrderNo(@Param("orderNo")String orderNo,@Param("orderInfo")String orderInfo,@Param("tradeStatus")int tradeStatus,@Param("otherNo") String otherNo,@Param("out_trade_no")String out_trade_no);

    /**
     * 修改骑行坐标数组
     * @return
     */
    int updateOrderByOrderId(Map<String,Object> params);
    /**
     * 微信回调成功，生成订单
     * @param params
     * @return
     */
    int addWxOrderInfo(Map<String,Object> params);
    /**
     * 获取用户充押金订单信息
     * @return
     */
    Map<String,Object> getUserOrderDeposit(@Param("userId") int userId);

    /**
     * 根据车辆编号查询订单信息
     * @param params
     * @return
     */
    Map<String,Object> getBikeOrderByBikeNo(Map<String,Object> params);

    /**
     * 根据用户ID查询坐标
     * @param ridingOrderId
     * @return
     */
    Map<String,Object> getUserRidingPaths(@Param("ridingOrderId")int ridingOrderId);
}
